package com.ibeeking.found.msg.rest.service;


import com.ibeeking.found.msg.service.common.dos.WxMpGroupMessageDO;
import com.ibeeking.found.msg.service.common.param.WxMpGroupMessageParam;
import com.ibeeking.found.msg.service.common.param.WxMpGroupMessageUploadParam;
import com.ibeeking.found.msg.service.common.query.WxMpFansPageQuery;
import com.ibeeking.found.msg.service.common.query.WxMpGroupMessagePageQuery;
import com.ibeeking.found.msg.service.common.vo.WxMpGroupMessagePageVO;
import com.ibeeking.found.msg.service.common.vo.WxMpGroupMessageUploadVO;
import com.ibeeking.found.msg.service.common.vo.WxMpGroupUserMessageVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * IWxMpGroupMessageService
 *
 * @Author ibeeking
 * @Date 2020-12-25 11:20
 */
public interface IWxMpGroupMessageService extends IService<WxMpGroupMessageDO> {



    /***
     * 分页查询
     */
    IPage<WxMpGroupMessagePageVO> pageList(WxMpGroupMessagePageQuery pageQuery);

    /***
     * 新增
     */
    Boolean add(WxMpGroupMessageParam param , WxMpFansPageQuery pageQuery, List<String> ids);

    /***
     * 新增
     */
    Boolean add(WxMpGroupMessageUploadParam param);


    /***
     * 页面接口修改数据
     */
    Boolean modify(WxMpGroupMessageParam param);

    /***
     * 修改提交发送数据后回调修改获取的发送结果保存
     */
    Boolean modify(WxMpGroupMessageDO groupMessageDO);

    /***
     * 通过id查询
     */
    WxMpGroupMessageUploadVO view(Long id);


    /***
     * 通过id删除
     */
    Boolean del(Long id);

    /**
     * 查询公众号用户消息
     * @param pageQuery
     * @return
     */
    IPage<WxMpGroupUserMessageVO> queryUserMessage(WxMpGroupMessagePageQuery pageQuery);
}
